Weighted Union Algorithm